<!DOCTYPE html>
<html>
<head>
    <title>国家金融监督管理总局关于印发金融租赁公司监管评级办法的通知</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
        }
        
        @media (max-width: 768px) {
            body {
                padding: 10px;
                font-size: 14px;
            }
            .fortune-container {
                padding: 10px;
            }
            .date-picker {
                flex-direction: column;
            }
            .date-picker label {
                margin-bottom: 5px;
            }
            button {
                /* width: 100%; */
                margin-top: 10px;
            }
            .element-textarea textarea {
                font-size: 12px;
            }
        }
        .date-picker {
            margin: 20px 0;
        }
        .date-picker label {
            margin-right: 10px;
        }
        .fortune-container {      
            display: flex;  
            flex-direction: column;
            margin-top: 10px;
            padding: 20px;
            border: 1px solid #ddd;
            border-radius: 5px;
            white-space: pre-line;
            line-height:1.2;
        }
        .buttons {      
            display: inline-block;  
            /* flex-direction: row; */
            margin: 10px;
            /* padding: 20px; */
            /* border: 1px solid #ddd;
            border-radius: 5px; */
            /* white-space: pre-line; */
            line-height:1.2;
        }
        button {
            padding: 8px 16px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        button:hover {
            background-color: #45a049;
        }
        .color-box {
            display: inline-block;
            width: 30px;
            height: 30px;
            margin: 2px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .color-group {
            margin: 10px 0;
        }
        .element-container {
            margin: 0;
        }
        label{
            margin:6px;
        }
   
        

    </style>
</head>
<body>
    {% if session.get('logged_in') %}
    <div style="background-color: #f0f0f0; padding: 10px; text-align: right;">
        已登录用户: {{ session.get('username') }} | <a href="/logout">退出</a>
    </div>
    {% endif %}
    {% include 'top_bar_ej.html' %}
    <h1>国家金融监督管理总局关于印发金融租赁公司监管评级办法的通知</h1>
    <div>
    
        <p>金规〔2025〕3号</p>
        <p>各金融监管局：</p>
        <p>现将《金融租赁公司监管评级办法》印发给你们，请遵照执行。</p>
        <p>国家金融监督管理总局</p>
        <p>2025年1月23日</p>
        <p>金融租赁公司监管评级办法</p>
        <p>第一章、总则</p>
        <p>第一条 为全面评估金融租赁公司的经营管理和风险状况，合理配置监管资源，有效实施分类监管，促进金融租赁公司稳健经营和规范发展，持续提升服务实体经济能力，根据《中华人民共和国银行业监督管理法》和《金融租赁公司管理办法》（国家金融监督管理总局令2024年第6号）等有关法律、部门规章的规定，制定本办法。</p>
        <p>第二条 本办法适用于在中华人民共和国境内依法设立的开业满一个完整会计年度以上的金融租赁公司法人机构的监管评级。对当年新设立的金融租赁公司，可以依据本办法进行试评级。</p>
        <p>金融租赁公司专业子公司纳入母公司评级考量，不单独开展监管评级。</p>
        <p>第三条 金融租赁公司监管评级是指国家金融监督管理总局及其派出机构（以下简称监管机构）根据日常监管掌握情况以及其他相关信息，按照本办法对金融租赁公司的整体状况作出评价判断的监管过程，是实施分类监管的基础。</p>
        <p>分类监管是指监管机构根据金融租赁公司监管评级结果，参考金融租赁公司风险分级等情况，对不同评级级别的金融租赁公司在市场准入、监管措施以及监管资源配置等方面实施有所区别的监管政策。</p>
        <p>第四条 金融租赁公司的监管评级工作由监管机构按照依法合规、客观公正、全面审慎的原则组织实施。</p>
        <p>第二章、评级要素及评级结果</p>
        <p>第五条 金融租赁公司监管评级要素包括公司治理、资本管理、风险管理、专业能力、信息科技管理等五个部分。金融租赁公司监管评级指标由定量和定性两类评级指标组成。</p>
        <p>第六条 金融租赁公司监管评级综合得分的满分为100分，各部分的分值权重分别为公司治理（20%）、资本管理（15%）、风险管理（30%）、专业能力（25%）、信息科技管理（10%）。</p>
        <p>每一项评级要素满分均为100分，各评级要素得分按照要素分值权重加权汇总后形成评级综合得分。</p>
        <p>第七条 金融租赁公司的监管评级结果从优到劣分为1—5级和S级，其中2级和3级进一步细分为A、B两个档次。金融租赁公司出现重大风险的，直接划分为5级。处于重组、被接管、实施市场退出等情况的金融租赁公司经监管机构认定后直接列为S级，不参加当年监管评级。</p>
        <p>评级综合得分在90分（含）以上为1级；70分（含）至90分为2级，其中，80分（含）至90分为2A，70分（含）至80分为2B；50分（含）至70分为3级，其中，60分（含）至70分为3A，50分（含）至60分为3B；50分以下的为4级。</p>
        <p>第三章、组织实施</p>
        <p>第八条 金融租赁公司的监管评级周期为一年，评价期间为上一年1月1日至12月31日。监管评级工作原则上应当于每年4月底前完成。</p>
        <p>第九条 金融租赁公司监管评级包括信息收集、初评、复评、审核、结果反馈等环节。</p>
        <p>第十条 国家金融监督管理总局根据金融租赁公司风险特征和监管重点，可以于每年开展监管评级工作前对相关评级指标和评价要点进行适当调整。</p>
        <p>第十一条 国家金融监督管理总局各级派出机构应当持续、全面、深入收集与金融租赁公司评级相关的内外部信息，充分反映金融租赁公司的公司治理、风险管理、业务经营等情况。</p>
        <p>金融租赁公司应当确保其提供的数据及其他资料真实、准确、完整，不得隐瞒重大事项，不得提供有虚假记载、误导性陈述或重大遗漏的信息和资料。</p>
        <p>监管机构发现数据和信息失真或存在重大遗漏时，应当及时与金融租赁公司核实，采用修正后的数据和信息进行监管评级，并视情节轻重依法依规采取相应监管措施。</p>
        <p>第十二条 国家金融监督管理总局各级派出机构根据日常监管掌握情况，对金融租赁公司进行监管评级初评和复评。初评由直接监管金融租赁公司的各级派出机构负责组织实施，对每一项评级指标的分析判断应当理由充分、分析深入、判断合理。复评由相关省级派出机构组织实施。初评与复评应当遵循评级尺度统一、客观准确和公平公正等原则，复评结果对初评结果有调整的，应当说明调整理由。</p>
        <p>第十三条 国家金融监督管理总局对监管评级复评结果进行审核，确定参评金融租赁公司的监管评级最终结果，并将监管评级最终结果反馈各省级派出机构。</p>
        <p>第十四条 年度监管评级工作结束后，参评金融租赁公司经营管理或风险状况出现重大情势变化，或者发现在监管评级期间未能掌握的重大情况，国家金融监督管理总局相关省级派出机构可以申请对监管评级结果进行动态调整。</p>
        <p>第十五条 国家金融监督管理总局各级派出机构应当将金融租赁公司的监管评级最终结果以及存在的主要风险和问题向金融租赁公司通报，并提出相应整改要求。</p>
        <p>金融租赁公司在收到监管机构的评级结果通报后，应当及时将有关情况通报金融租赁公司董事会、监事会（监事）和高级管理层，并通报金融租赁公司主要股东，通报内容包括但不限于：评级结果、</p>
    </div>

    <hr>

    <div style="padding:10px;">
        写入文件：
        <select id="xlsx_to_write">
            <option value="运势.xlsx">运势1</option>
            <option value="运势2.xlsx">运势2</option>
        </select>
    </div>
    
    <form method="POST">
        <div class="date-picker">
            <div style="display:flex;flex-direction:colums;margin:10px;">
                <label for="date">选择日期：</label> 
                <input type="date" id="date" name="date" onchange="showInputDateAndWeekDay(this.value,'date-and-weekday');handleFormSubmit();readTempSave();">
                <div id="date-and-weekday" style="font-size:18px;color:brown;padding-left:15px;"></div>
                <div id="date-hint" style="padding-left: 15px; color: #f14848;"></div>
                
            </div>
            <!-- <div><button type="submit">查看运势提示</button></div> -->
        </div>        
    </form>    

    
    <div id="date-ganzhi" style="font-size:16px;color:blueviolet;padding:10px;"></div>
    <div id="date-gz-hint" style="font-size:16px;color:rgb(56, 109, 183);padding:10px;"></div>
    <h3>导语</h3>
    <textarea id="pre-text" rows="3" style="width: 100%;"></textarea>    
          
    <h3>五行十神格局：</h3>
    <div class="fortune-container">
        
        <div class="element-textareas" style="margin-top: 0;">
            
            <div class="element-textarea" style="margin-top: 0;padding-top:0;padding-left:8px;padding-right:8px;background-color: #eafeeb">
                <div>木：</div>
                <div style='display: flex;color:chocolate'>提示：<div id="wood-prompt" style="color:rgb(130, 133, 136)"></div></div>
                <div>建议颜色 <input id="wood-color"></div>
                <div style='display: flex;'>总体运势 
                    <select id="wood-luck" style="margin-left:6px;">
                        <option value="【平】">平</option>
                        <option value="【吉】">吉</option>
                        <option value="【凶】">凶</option>
                    </select>
                </div>
                <textarea id="wood-fortune-text" rows="3" style="width: 98%;">{{ wood_shishen if wood_shishen else '' }}</textarea>
            </div>
            <div class="element-textarea" style="margin-top: 0;padding-top:0;padding-left:8px;padding-right:8px;background-color: #feeeea">
                <div>火：</div>
                <div style='display: flex;color:chocolate;'>提示：<div id="fire-prompt"  style="color:rgb(130, 133, 136);"></div></div>
                <div>建议颜色 <input id="fire-color"></div>
                <div style='display: flex;'>总体运势 
                    <select id="fire-luck" style="margin-left:6px;">
                        <option value="【平】">平</option>
                        <option value="【吉】">吉</option>
                        <option value="【凶】">凶</option>
                    </select>
                </div>
                <textarea id="fire-fortune-text" rows="3" style="width: 98%;">{{ fire_shishen if fire_shishen else '' }}</textarea>
            </div>
            <div class="element-textarea" style="margin-top: 0;padding-top:0;padding-left:8px;padding-right:8px;background-color: #dfddd7">
                <div>土：</div>
                <div style='display: flex;color:chocolate;'>提示：<div id="earth-prompt"  style="color:rgb(130, 133, 136)"></div></div>
                <div>建议颜色 <input id="earth-color"></div>
                <div style='display: flex;'>总体运势 
                    <select id="earth-luck" style="margin-left:6px;">
                        <option value="【平】">平</option>
                        <option value="【吉】">吉</option>
                        <option value="【凶】">凶</option>
                    </select>
                </div>
                <textarea id="earth-fortune-text" rows="3" style="width: 98%;">{{ earth_shishen if earth_shishen else '' }}</textarea>
            </div>
            <div class="element-textarea" style="margin-top: 0;padding-top:0;padding-left:8px;padding-right:8px;background-color: #fffeef">
                <div>金：</div>
                <div style='display: flex;color:chocolate;'>提示：<div id="metal-prompt"  style="color:rgb(130, 133, 136)"></div></div>
                <div>建议颜色 <input id="metal-color"></div>
                <div style='display: flex;'>总体运势 
                    <select id="metal-luck" style="margin-left:6px;">
                        <option value="【平】">平</option>
                        <option value="【吉】">吉</option>
                        <option value="【凶】">凶</option>
                    </select>
                </div>
                <textarea id="metal-fortune-text" rows="3" style="width: 98%;">{{ metal_shishen if metal_shishen else '' }}</textarea>
            </div>
            <div class="element-textarea" style="margin-top: 0;padding-top:0;padding-left:8px;padding-right:8px;background-color: #eff6ff">
                <div>水：</div>
                <div style='display: flex;color:chocolate;'>提示：<div id="water-prompt"  style="color:rgb(130, 133, 136)"></div></div>
                <div>建议颜色 <input id="water-color"></div>
                <div style='display: flex;'>总体运势 
                    <select id="water-luck" style="margin-left:6px;">
                        <option value="【平】">平</option>
                        <option value="【吉】">吉</option>
                        <option value="【凶】">凶</option>
                    </select>
                </div>
                <textarea id="water-fortune-text" rows="3" style="width: 98%;">{{ water_shishen if water_shishen else '' }}</textarea>
            </div>
        </div>
        
        
    </div>

    <div class="buttons">
        <button id="submit-ai" onclick="handleSubmitAI()">提交ai生成文本</button>
        <button id="generate-pictures" onclick="handleGeneratePics()">正式写入xlsx文件</button>
        <button onclick="tempSave()" style="background-color: #f58d8d;">临时保存数据</button>

    </div>
    
  
    <div id="ai-text" class="fortune-container"></div>
    


    <script src="../static/js/common.js"></script>
    <script>
        document.addEventListener('DOMContentLoaded', function() {
            let weekday;
            
            //在topbar里增加临时保存按钮
            const topBar=document.getElementById('top-bar');
            const tempSaveButton=document.createElement('button');
            tempSaveButton.classList.add('buttons');
            tempSaveButton.style.backgroundColor='#f58d8d';
            tempSaveButton.style.fontSize='8px';
            tempSaveButton.style.width='80px';
            tempSaveButton.style.height='24px';
            tempSaveButton.textContent='临时保存数据';
            tempSaveButton.addEventListener('click',tempSave);
            topBar.appendChild(tempSaveButton);

            // 初始化日期选择器
            initializeDatePicker();
            readTempSave();
            const selectedDate=document.getElementById('date').value;
            showInputDateAndWeekDay(selectedDate,'date-and-weekday');
            
            // 自动提交表单
            fetchWxSummary(selectedDate)
                .then(response => response.json())
                .then(data => {
                    console.log('data:', data);
                    document.getElementById('date-ganzhi').innerHTML = data.date_gz || '';
                    const tgDzNotice=data.tg_dz_notice;
                    const wxSummary = data.wx_summary;
                    const wxTextPrompt = data.wx_text_prompt;
                    if (wxSummary) {
                        document.getElementById('wood-prompt').innerHTML = wxSummary['木'] || '';
                        document.getElementById('fire-prompt').innerHTML = wxSummary['火'] || '';
                        document.getElementById('earth-prompt').innerHTML = wxSummary['土'] || '';
                        document.getElementById('metal-prompt').innerHTML = wxSummary['金'] || '';
                        document.getElementById('water-prompt').innerHTML = wxSummary['水'] || '';
                        document.getElementById('wood-fortune-text').textContent = wxTextPrompt['木'] || '';
                        document.getElementById('fire-fortune-text').textContent = wxTextPrompt['火'] || '';
                        document.getElementById('earth-fortune-text').textContent = wxTextPrompt['土'] || '';
                        document.getElementById('metal-fortune-text').textContent = wxTextPrompt['金'] || '';
                        document.getElementById('water-fortune-text').textContent = wxTextPrompt['水'] || '';
                    }
                    if(tgDzNotice){
                        document.getElementById('date-gz-hint').innerHTML = tgDzNotice || '';
                    }
                })
                .catch(error => console.error('Error fetching wx_summary:', error));
        });

        function calculateWeekDay(dateInput){
            // 获取星期几的数值
            const dayOfWeek = dateInput.getDay();
            console.log(dayOfWeek)
            // 将星期几的数值转换为中文
            let weekDayChinese = '';
            switch (dayOfWeek) {
            case 0:
                weekDayChinese = '星期日';
                break;
            case 1:
                weekDayChinese = '星期一';
                break;
            case 2:
                weekDayChinese = '星期二';
                break;
            case 3:
                weekDayChinese = '星期三';
                break;
            case 4:
                weekDayChinese = '星期四';
                break;
            case 5:
                weekDayChinese = '星期五';
                break;
            case 6:
                weekDayChinese = '星期六';
                break;
            default:
                weekDayChinese = '未知';
            }

            return weekDayChinese;
        }

        function showInputDateAndWeekDay(date_input,id){
            const date=new Date(date_input);
            const div=document.getElementById(id);
            const weekdayChinese=calculateWeekDay(date);
            div.innerHTML=weekdayChinese;
        }

        function readTempSave(){
            const date = document.getElementById('date').value;
            fetch('/read_temp_save', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({ date: date })
            })
            .then(response => response.json())
            .then(data => {
                if (data) {
                    console.log('temp save json data:', data);
                    const hasDateRecord = data.data.some(item=>item['0']===date)
                    if (hasDateRecord) {
                        if (confirm(`检测到${date}的保存数据，是否要加载？`)) {
                            // 还原导语
                            let tempData;
                            data.data.forEach(item=>{
                                if(item[0]===date){
                                    tempData=item;
                                }
                            });
                            document.getElementById('pre-text').value = tempData[1] || '';
                            
                            // 还原五行数据
                            const elements = ['wood', 'fire', 'earth', 'metal', 'water'];
                            let n=2;    
                            elements.forEach(element => {
                     
                                    document.getElementById(`${element}-color`).value = tempData[n].color || '';
                                    document.getElementById(`${element}-luck`).value = tempData[n].luck || '【平】';
                                    document.getElementById(`${element}-fortune-text`).value = tempData[n].fortuneText || '';
                                
                                n+=1
                            });
                            alert(`${date} 日运已加载`);
                            
                            // 删除旧记录
                            fetch('/delete_date_riyun_record', {
                                method: 'POST',
                                headers: {
                                    'Content-Type': 'application/json'
                                },
                                body: JSON.stringify({date: date})
                            })
                            .then(response => response.json())
                            .then(data => {
                                if(data.status === 'success') {
                                    alert(`${date} 暂存记录已删除`);
                                } else {
                                    alert(`${date} 日运已成功加载，但删除暂存记录失败`);
                                }
                            });
                        }
                    } else {
                        console.log(`未找到${date}的暂存的json数据`);
                    }
                }
                    })
            .catch(error => {
                console.error('Error:', error);
                alert('加载失败，请检查网络连接');
            });
        }
                

        function checkLocalStorage(){
            // 检查是否有保存的数据
            const selectedDate = document.getElementById('date').value;
            const savedData = localStorage.getItem(`${selectedDate}-ejj-fortune`);
            if (savedData) {
                if (confirm(`检测到${selectedDate}的保存数据，是否要加载？`)) {
                    loadTempSave();
                }
            }
        }

        function get_and_show_data_ganzhi() {
            const date=formatDateTo8Digits(document.getElementById('date').value);
            fetch('/get_date_gz', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({ date: date})
            })
            .then(response => response.json())
            .then(data => {
                console.log('data:',data);
                document.getElementById('date-ganzhi').innerHTML=data.date_gz || '';
                
            })
            .catch(error => console.error('Error fetching wx_summary:', error));
        }
        

        function getTomorrowDate() {
            const today = new Date();
            const tomorrow = new Date(today);
            tomorrow.setDate(today.getDate() + 1);
            return tomorrow.toISOString().split('T')[0];
        }

        function updateDateHint(selectedDate) {
            const today = new Date().toISOString().split('T')[0];
            const tomorrow = new Date();
            tomorrow.setDate(new Date().getDate() + 1);
            const tomorrowStr = tomorrow.toISOString().split('T')[0];
            const hintDiv = document.getElementById('date-hint');
            
            if (selectedDate === today) {
                hintDiv.textContent = '今天';
            } else if (selectedDate === tomorrowStr) {
                hintDiv.textContent = '明天';
            } else {
                hintDiv.textContent = '';
            }
        }

        function initializeDatePicker() {
            const dateInput = document.getElementById('date');
            const tomorrow = getTomorrowDate();
            dateInput.value = tomorrow;
            updateDateHint(tomorrow);

            dateInput.addEventListener('change', function() {
                updateDateHint(this.value);
            });
        }

        window.addEventListener('load', function() {
            initializeDatePicker();
            initializeEventListeners();
        });

        function formatDateTo8Digits(dateStr) {
            return dateStr.replace(/-/g, '');
        }

        function fetchWxSummary(date) {
            const formattedDate = formatDateTo8Digits(date);
            return fetch('/get_wx_summary', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify({ date: formattedDate })
            });
        }

        function handleFormSubmit() {
            // e.preventDefault(); // 阻止表单默认提交行为
            // document.getElementById('confirm-btn').style.display = 'none';
            // document.getElementById('color-blocks').innerHTML = '';

            // 获取wx_summary数据并填充五行textarea
            const selectedDate = document.getElementById('date').value;
            fetchWxSummary(selectedDate)
            .then(response => response.json())
                .then(data => {
                    console.log('data:',data);
                    document.getElementById('date-ganzhi').innerHTML=data.date_gz || '';
                    const tgDzNotice=data.tg_dz_notice;
                    const wxSummary = data.wx_summary;
                    const wxTextPrompt = data.wx_text_prompt;
                    if (wxSummary) {
                        document.getElementById('wood-prompt').innerHTML = wxSummary['木'] || '';
                        document.getElementById('fire-prompt').innerHTML = wxSummary['火'] || '';
                        document.getElementById('earth-prompt').innerHTML = wxSummary['土'] || '';
                        document.getElementById('metal-prompt').innerHTML = wxSummary['金'] || '';
                        document.getElementById('water-prompt').innerHTML = wxSummary['水'] || '';
                        document.getElementById('wood-fortune-text').textContent = wxTextPrompt['木'] || '';
                        document.getElementById('fire-fortune-text').textContent = wxTextPrompt['火'] || '';
                        document.getElementById('earth-fortune-text').textContent = wxTextPrompt['土'] || '';
                        document.getElementById('metal-fortune-text').textContent = wxTextPrompt['金'] || '';
                        document.getElementById('water-fortune-text').textContent = wxTextPrompt['水'] || '';
                    }
                    if(tgDzNotice){
                        document.getElementById('date-gz-hint').innerHTML = tgDzNotice || '';
                    }
                })
                .catch(error => console.error('Error fetching wx_summary:', error));
        }

        function handleConfirmClick() {
            const colors = extractColors();
            displayColorBlocks(colors);
        }

        function initializeEventListeners() {
            document.querySelector('form').addEventListener('submit', handleFormSubmit);
            // document.getElementById('confirm-btn').addEventListener('click', handleConfirmClick);
        }

        window.addEventListener('load', function() {
            initializeEventListeners();
        });

        function extractColorsFromText(text) {
            const colorMap = {
                '木': extractElementColors(text, '木宝宝'),
                '火': extractElementColors(text, '火宝宝'), 
                '土': extractElementColors(text, '土宝宝'),
                '金': extractElementColors(text, '金宝宝'),
                '水': extractElementColors(text, '水宝宝')
            };
            return colorMap;
        }

        function extractElementColors(text, element) {
            const regex = new RegExp(`${element}建议穿([^\\n]+)`);
            const match = text.match(regex);
            if (match) {
                return match[1].split(/[、，]/).map(c => c.trim().replace('衣服', ''));
            }
            return [];
        }

        function displayAiText(data){
            const aiDiv = document.getElementById('ai-text');
            const order = ['木', '火', '土', '金', '水'];
            let content = '';
            
            order.forEach(key => {
                if (data['final_text'][key]) {
                    content += data['final_text'][key] + '<br>';
                }
            });
            
            aiDiv.innerHTML = `${data['pre_text']}<br>${content}`;
        }

        function refreshPrompt(data){
            // const wx=['wood','fire','earth','metal','water'];
            const wxMap={'wood':'木','fire':'火','earth':'土','metal':'金','water':'水'}
            document.getElementById('pre-text').textContent=data['pre-text'];
            Object.keys(wxMap).forEach(wx=>{
                const color=document.getElementById(`${wx}-color`);
                const luck=document.getElementById(`${wx}-luck`);
                const promptDiv=document.getElementById(`${wx}-fortune-text`);
                promptDiv.value=data['ai_text'][wxMap[wx]]
                color.value=data['color'][wxMap[wx]]
                luck.value=data['luck'][wxMap[wx]]
            });

        }

        // function displayColorBlocks(colors) {
        //     const container = document.getElementById('color-blocks');
        //     let html = '<h3>幸运色：</h3>';
            
        //     for (const [element, colorList] of Object.entries(colors)) {
        //         if (colorList.length > 0) {
        //             html += `<div class="color-group">
        //                 <strong>${element}宝宝：</strong>`;
                    
        //             colorList.forEach(color => {
        //                 const colorCode = getColorCode(color);
        //                 html += `<div class="color-box" style="background-color: ${colorCode}" title="${color}"></div>`;
        //             });
                    
        //             html += '</div>';
        //         }
        //     }
            
        //     container.innerHTML = html;
        // }

        const colorCodeMap = {
            '红色': '#ff0000',
            '绿色': '#00ff00',
            '蓝色': '#0000ff',
            '青色': '#00ffff',
            '紫色': '#800080',
            '粉色': '#ffc0cb',
            '黄色': '#ffff00',
            '橙色': '#ffa500',
            '棕色': '#a52a2a',
            '米色': '#f5f5dc',
            '白色': '#ffffff',
            '金色': '#ffd700',
            '银色': '#c0c0c0',
            '黑色': '#000000',
            '深蓝色': '#00008b',
            '灰色': '#808080'
        };

        function getColorCode(colorName) {
            return colorCodeMap[colorName] || '#ffffff';
        }

            function tempSave() {
                const date = document.getElementById('date').value;
                const preText = document.getElementById('pre-text').value.trim();

                const data = {
                    date: date,
                    preText: preText,
                    wood: {
                        color: document.getElementById('wood-color').value,
                        luck: document.getElementById('wood-luck').value,
                        fortuneText: document.getElementById('wood-fortune-text').value
                    },
                    fire: {
                        color: document.getElementById('fire-color').value,
                        luck: document.getElementById('fire-luck').value,
                        fortuneText: document.getElementById('fire-fortune-text').value
                    },
                    earth: {
                        color: document.getElementById('earth-color').value,
                        luck: document.getElementById('earth-luck').value,
                        fortuneText: document.getElementById('earth-fortune-text').value
                    },
                    metal: {
                        color: document.getElementById('metal-color').value,
                        luck: document.getElementById('metal-luck').value,
                        fortuneText: document.getElementById('metal-fortune-text').value
                    },
                    water: {
                        color: document.getElementById('water-color').value,
                        luck: document.getElementById('water-luck').value,
                        fortuneText: document.getElementById('water-fortune-text').value
                    }
                };

                fetch('/deal_temp_save', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json'
                    },
                    body: JSON.stringify(data)
                })
                .then(response => {
                    if (response.ok) {
                        // 成功保存后删除旧记录
                        alert('日运保存成功')    
                    } else {
                        alert('保存失败，请重试');
                    }
                })
                .catch(error => {
                    console.error('Error:', error);
                    alert('保存失败，请检查网络连接');
                });
            }

        
        function handleSubmitAI() {
            const aiDiv=document.getElementById('ai-text');
            const data = {
                date:document.getElementById('date').value,
                pre_text:document.getElementById('pre-text').value,
                wood: {
                    name: '木',
                    color: document.getElementById('wood-color').value,
                    luck:document.getElementById('wood-luck').value,
                    text: document.getElementById('wood-fortune-text').value
                },
                fire: {
                    name: '火',
                    color: document.getElementById('fire-color').value,
                    luck:document.getElementById('fire-luck').value,
                    text: document.getElementById('fire-fortune-text').value
                },
                earth: {
                    name: '土',
                    color: document.getElementById('earth-color').value,
                    luck:document.getElementById('earth-luck').value,
                    text: document.getElementById('earth-fortune-text').value
                },
                metal: {
                    name: '金',
                    color: document.getElementById('metal-color').value,
                    luck:document.getElementById('metal-luck').value,
                    text: document.getElementById('metal-fortune-text').value
                },
                water: {
                    name: '水',
                    color: document.getElementById('water-color').value,
                    luck:document.getElementById('water-luck').value,
                    text: document.getElementById('water-fortune-text').value
                }
            };

            aiDiv.innerHTML=`<span style='color:red;'>正在通过deepseek生成文本……</span><br>`;
            fetch('/deal_ai_data', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(data)
            })
            .then(response => response.json())
            .then(data => {
                console.log('Success, deal ai feedback data:', data);
                displayAiText(data);
                refreshPrompt(data);
            })
            .catch(error => {
                console.error('Error:', error);
            });
        }

        function writeIntoXlsx() {
            const elements = ['wood', 'fire', 'earth', 'metal', 'water'];
            const elements_map={'wood':'木','fire':'火','earth':'土','metal':'金','water':'水'}
            let wx_contents={}
            elements.map(element => {
                wx_contents[elements_map[element]]={}
                wx_contents[elements_map[element]]['name']= elements_map[element];
                wx_contents[elements_map[element]]['color']= document.getElementById(`${element}-color`).value.trim().replace(/色/g,'');
                wx_contents[elements_map[element]]['luck']= document.getElementById(`${element}-luck`).value.trim();
                wx_contents[elements_map[element]]['fortune_text']= document.getElementById(`${element}-fortune-text`).value.trim();
                
            });
            const xlsx_name=document.getElementById('xlsx_to_write').value;
            const date=document.getElementById('date').value.trim();
            const date_gz=document.getElementById('date-ganzhi').textContent.trim();
            const date_weekday=document.getElementById('date-and-weekday').textContent.trim();
            const pre_text=document.getElementById('pre-text').value.trim();

            const data={
                xlsx_name:xlsx_name,
                wx_contents:wx_contents,
                date:date,
                date_gz:date_gz.slice(6,8),
                weekday:date_weekday.slice(2,),
                pre_text:pre_text
            }

            fetch('/write_into_riyun_xlsx', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                },
                body: JSON.stringify(data)
            })
            .then(response => response.json())
            .then(data => {
                console.log('Success:', data);
                alert('数据已成功写入Excel');
            })
            .catch(error => {
                console.error('Error:', error);
                alert('写入Excel失败');
            });
        }

        function handleGeneratePics(){
            writeIntoXlsx();
        }
    </script>
</body>
</html>
